如何向 6 岁的孩子解释编程?这个解释厉害了
作者丨Tomek Kaczanowski
翻译丨雁惊寒
【极客宝宝 编者按】本文作者图文并茂地介绍了自己给幼儿园的小朋友教授电脑基本知识的整个过程。如果你家里也有一个年龄相仿的小孩的话,你也试一下吧。以下是译文。
任务:向一群六岁的孩子解释你所从事的工作。
等级:高(我自己的女儿就是六岁)。
许多人分享了他们对这个“演讲”的想法:你可以在Stack Overflow上找到一些非常有趣的例子(例如,这里)。很多人认为,首先要让孩子们知道计算机是非常愚蠢的,然后准确地告诉他们要做什么以及如何做才能达到自己想要的结果。但是,我很怀疑孩子们听了这些之后能够了解到有关编程的什么东西。
关于这个成功的“演讲”,我的想法是这样的:
通过提问和绘图的方式让他们参与进来。原始的图纸非常大(是活动挂图),我一边讲解一点画画。这是让年幼的观众们参与进来的一个很好的方法(他们会很开心的笑话程序员稻草人,或指出小猪佩奇的样子并不是这样的,等等)。我现在手头并没有原始的图纸,当时忘了拍照了,所以我又画了一遍。
立足于他们已经知道的东西(例如:YouTube、笔记本电脑、平板电脑、DVD)。现在每个孩子都会在YouTube上看动画片,在平板电脑上玩游戏,看着粑粑麻麻在笔记本电脑上工作。他们也知道电影是保存在VCD/DVD上的,智能手机和平板电脑非常的相似(涉及到游戏和电影)。
我首先从最基本的问题开始,“谁知道程序员是做什么的?”我知道他们昨天已经讨论过这个了,所以,对于他们的一些想法我并没有感到惊讶。
我告诉了他们我自己的定义:“程序员是编写计算机程序的人,他们知道如何告诉计算机应该做什么。程序员非常了解电脑。”
然后,我画了一个正在工作的程序员。
下一步是谈论电脑。
所有的孩子都开始谈论起他们父母的笔记本电脑(他们反复谈论同一样事情的时候真的是非常的可爱)。
等一小段时间之后,我打断了他们,告诉他们:在很多不同的东西里面都有电脑,例如智能手机和手表,还有汽车和电梯。我把提到的每个东西都画了出来,并用几个字来概括在什么情况下该用哪种电脑。
我又问他们天气预报是如何实现的(一个聪明的孩子回答道:“卫星知道第二天的天气”),然后告诉他们是电脑根据数千个测量设备提供的数据计算出预测结果。
我打算把话题转移到电脑程序上来,所以,我提到,电脑之所以会干活都要归功于程序,是程序命令电脑去做某些事情。
我又把话题转到了YouTube,因为我知道孩子们很了解它。我画出了网站的界面,他们都很熟悉这个界面。
我问,YouTube上有多少部电影。一些小朋友开始迷糊了,但也有人喊道:“几百万个”或“无限个”。
所以,我又问,是否有可能把所有的电影都放在一张光盘上呢。然后我画了很多碟片,并问道:“如果你告诉YouTube要观看小猪佩奇的某一集,它就能找到对应的光盘,这是如何做到的呢?”他们都沉默了,所以我画了一个数据库,并迅速描述了它的角色。
我要给他们灌输这样一个观念:他们看到的只是一个冰山一角,而程序员负责了更多的东西。
我向他们解释了我们是如何处理各种各样的事情的:
保护电影免受坏人的破坏(“*如果有人修改了数据库会怎么样,你会看到足球赛,而不是小猪佩奇?” 孩子们用沉默回答了我)
制作备份(“*如果光盘坏了会怎么样?那么你永远都无法再看到小猪佩奇里猪爸爸挂照片那一集了?”孩子们再一次沉默了)
让YouTube可以在不同的设备上播放(智能手机,平板电脑,笔记本电脑)
展示广告
计算观看每部电影的人数
显示类似电影的缩略图等
这时是告诉他们编程是团队合作的最好的时机了。
程序很庞大,需要具备不同领域的知识,需要很多人参与进来创造。在这一点上,我更新了第一幅画,添加了另一个程序员,让两个人坐在一起。
下一个主题是计算机的工作原理,当然是非常粗略的。我是这样告诉他们的:
鼠标和键盘是人们用来给计算机下命令的
电脑屏幕用于显示电脑的响应
每台电脑里面都有一个处理器(你可以把它看成是电脑的大脑)
还有一些磁盘供电脑存储信息
接着,我把重点放在处理器上,告诉他们它使用一种只有0和1组成的非常有趣的语言。然后,当我假装用一种只有A和B的语言说话时,大家都笑得很开心。接着,我解释说,程序员使用编程语言是为了能够更容易地与处理器进行交流。
随后,我给他们展示了最最简单的程序语句的例子(使用一些伪代码)。我想给他们展示更多的东西,但我觉得他们的注意力开始不集中了,所以我甚至没有讲for循环。
为了结束我的“演讲”,我再一次画了一些符号来总结我们讨论的东西。我一边画一边问问题“这是什么?”和“你还记得有关这个的一些什么吗?”诸如此类。一切进行得很顺利。
附加内容,要做的和不要做的事情,提示和技巧:
这比我预期的要更加好玩!我很认真地对待这个任务,做了充足的准备,并取得了一定的成果。孩子们对此很感兴趣,我想他们也许会记住一些内容的。
画图是正确的方法。
它抓住了孩子们的注意力,通过对图上的东西进行指点,让我可以提醒他们几分钟前大家讨论的内容。
准备好一遍又一遍地重复内容。
当我问他们知道有关语言的哪些东西时,一个人举手说:“我知道一点点英文”,然后他的伙伴也是这样。然后还有一个,接着是另一个,其余的人一个接一个地这么说。所有人关于英语的说法都完全一样。当你提到他们喜欢的主题时,例如动画片,场面会变得更加混乱。
有些孩子不管你做什么都会觉得无聊。
他们集中注意力的时间太短了。
认真书写。例如,当你写的1看起来像7的时候,他们会抗议。
在演讲中,我明白没有任何必要去纠正他们。
例如,我认为他们明白YouTube是将动画片放在DVD上的,而当你要求播放一部动画片时,电脑会选择正确的光盘并播放它。我认为这是非常好的。我希望他们了解这个概念(搜索是如何实现的,数据库的作用是什么),而不是技术细节。我觉得这是正确的教育方法。
我花了25分钟的时间来做这次演讲。已经够了,没必要再长了。
热 文 推 荐
☞ 中小学 AI 教育靠谱吗?50% 教师教学经验不足 1 年
☞ 调查 10,000 名学生开发者:65% 自学成才,学 6 门编程语言!
☞ 她高中发明著名算法,保送清华姚班,斯坦福 AI 实验室负责人高徒 | 人物志
☞ 中国大学生编程第一人:世界顶尖黑客,被 Facebook、Google 青睐